Internet Protocol (IP) networks have become a widely used data infrastructure for delivering digital information e.g. data, voice and streaming video, both locally and world wide. An increasing amount of data traffic delivered over IP networks contains multimedia content.
In a system for delivering media content, said content is most often compressed. There are servers for sending out the media content and receivers for receiving the media content.
TCP (Transport Control Protocol) and UDP (User Data Protocol) are transport protocols used for transporting said media content. The UDP protocol is less complex than TCP, but it does not offer a number of TCP features that can make TCP so useful in certain applications, such as guaranteeing against lost, duplicated, or out of order packets. With the UDP implementation, an application process at the server segments the data into blocks, encapsulates them into UDP and then IP packets, and then delivers them over the IP network with best efforts, i.e. without waiting for receiving acknowledgement. As a result, there is no retransmission of packets and no sliding windowing buffers. A server using UDP is thus capable of delivering data blocks very efficiently without the need to hold the data in its buffer and wait for confirmation, but lost and out-of-order packets are not reported to the server. Therefore, UDP transport does not ensure data delivery and is usually suitable only for use in reliable networks or for situations where unreliable data delivery is acceptable by the end applications.
Compressed data, such as Moving Picture Expert Group 2-Transport stream (MPEG2-TS) is extremely sensitive to data packet loss. Lost packets mean bad end user experience. Retransmission of lost video packets is often an essential function in IPTV networks and the solutions implementing retransmission typically use Real-time Transport protocol (RTP).
RTP transport provides a mechanism for detecting lost packets by implementing a sequence number for each video packet number for each video packet. RTP retransmission is known and standardized. In the RFC4548 an RTP payload format for performing retransmission is defined.
The most common way of transmitting video is using MPEG2-TS over UDP. Video is sensitive for packet loss. Considering the packet loss issue, MPEG-TS is not worse than any other transport protocol. It is the loss of video encoded data itself when UDP packets are lost that is a problem.
As UDP is in itself unreliable, any retransmission of lost traffic must be handled on the application level. Since both UDP and MPEG2-TS lacks a unique identifier per packet, there is obviously a problem to directly identify a specific data packet, data block or data frame in the stream and retransmission can't take place with current technologies.